package cn.csc.module.shoppingCard.enums;

import cn.hutool.core.util.ArrayUtil;
import lombok.Getter;

/**
 * 子订单订单状态
 * @author liuchuang
 * @version 1.0
 * @date 2024/1/29 10:17
 * @modify
 */
@Getter
public enum OrderItemOrderStatusEnum {

    /**
     * 没有付款.待付款
     */
    UNPAY(0, "未付款"),

    /**
     * 已经付款,但卖家没有发货.待发货
     */
    PADYED(1,"已付款"),

    /**
     * 发货，导致实际库存减少，没有确认收货.待收货
     */
    CONSIGNMENT(2,"已发货"),

    /**
     * 已签收
     */
    SIGNED(3,"已签收"),

    /**
     * 退货申请
     */
    APPLY_RETURN(-1,"退货申请"),

    /**
     * 退货中
     */
    RETURNING(-2,"退货中"),

    /**
     * 已退货
     */
    RETURNED(-3,"已退货"),

    /**
     * 取消交易
     */
    CANCELED(-4,"取消交易"),

    /**
     * 撤销申请
     */
    CANCEL_RETURN(-5,"撤销申请");


    private final Integer status;

    private final String name;

    OrderItemOrderStatusEnum(Integer status, String name) {
        this.status = status;
        this.name = name;
    }

    public static OrderItemOrderStatusEnum getByStatus(Integer status) {
        return ArrayUtil.firstMatch(o -> o.getStatus().equals(status), values());
    }


}
